import request from "@/utils/request";

const CODE_BASE_URL = "/system/verifyCode";

const CodeAPI = {
  /**
   * 获取验证码分页列表
   *
   * @param queryParams 查询参数
   * @returns 验证码分页结果
   */
  getPage(queryParams: CodePageQuery) {
    return request<any, PageResult<CodePageVO[]>>({
      url: `${CODE_BASE_URL}/page`,
      method: "get",
      params: queryParams,
    });
  },

  /**
   * 删除验证码
   *
   * @param ids 验证码ID数组
   */
  deleteByIds(ids: number[]) {
    return request({
      url: `${CODE_BASE_URL}/delete`,
      method: "delete",
      data: ids,
    });
  },
};

export default CodeAPI;

/**
 * 验证码查询参数
 */
export interface CodePageQuery extends PageQuery {
  /**
   * 关键字(手机号/邮箱)
   */
  keywords?: string;

  /**
   * 验证码状态（1:启用，0:禁用）
   */
  enabled?: number;
}

/**
 * 验证码分页对象
 */
export interface CodePageVO {
  /**
   * 验证码ID
   */
  id: number;
  /**
   * 用户id
   */
  userId: number;
  /**
   * 联系类型
   */
  contactType: number;
  /**
   * 联系方式
   */
  contact: string;
  /**
   * 验证类型
   */
  verifyType: number;
  /**
   * 平台
   */
  platform: number;
  /**
   * 验证码状态（1:启用，0:禁用）
   */
  enabled: number;
  /**
   * 过期时间
   */
  expireTime: Date;
  /**
   * 创建时间
   */
  createTime: Date;
}
